From 0cdb73707d054a60d9ac8cc16fb72caea0a8d395 Mon Sep 17 00:00:00 2001 From: Christoph Egger Date: Wed, 13 Jun 2012 11:51:26 +0200 Subject: [PATCH] SVM: fix performance decrease with asid assignment Do not clear asid cleanbit unconditionally. This shaves off 100 cycles from the VMRUN instruction. Signed-off-by: Christoph Egger Committed-by: Jan Beulich --- xen/arch/x86/hvm/svm/asid.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/hvm/svm/asid.c b/xen/arch/x86/hvm/svm/asid.c index 14e2abd919..3fde3631c4 100644 --- a/xen/arch/x86/hvm/svm/asid.c +++ b/xen/arch/x86/hvm/svm/asid.c @@ -56,7 +56,8 @@ void svm_asid_handle_vmrun(void) return; } - vmcb_set_guest_asid(vmcb, p_asid->asid); + if (vmcb_get_guest_asid(vmcb) != p_asid->asid) + vmcb_set_guest_asid(vmcb, p_asid->asid); vmcb->tlb_control = need_flush; } -- 2.30.2